// //var全局变量，会进行一个变量提升，且全局可访问,且可以重复声明
console.log(a); //undefind 由于a是var类型，所以会进行一个全局变量提升
var a = 10;
console.log(a); //10
var a = 11;
console.log(a); //11
if(true){
    var a = 10;
}
console.log(a); //10

// //let局部变量，不会进行一个变量提升，且局部可访问,且let不能重复声明
console.log(b); //ReferenceError: b is not defined 由于b是let类型，所以不会进行一个全局变量提升，所以报错
let b = 10;
console.log(b); //10

//const常量，不会进行一个变量提升，且局部可访问,且const不能重复声明,且他的值不能被修改
console.log(c); //ReferenceError: c is not defined 由于c是const类型，所以不会进行一个全局变量提升，所以报错
const c = 10;
console.log(c); //10
c = 11; //Assignment to constant variable.常量的值是不能被修改的
